This invention is related to computers and computer systems and particularly to a method and system for use of the World Wide Web and other sources of information and for utilization of existing equipment advantageously for providing interactive web server data access over networks and the Internet.
While dictionary meanings are also implied by certain terms used here, the following glossary of some terms may be useful.
The Internet is not a single network, it has no owner or controller, but is an unruly network of networks, a confederation of many different nets, public and private, big and small, that have agreed to connect to one another. An xe2x80x9cintranetxe2x80x9d may follow the Internet protocol but access to an intranet from the Internet is typically restricted by a xe2x80x9cfirewallxe2x80x9d to permit only approved Internet access to the intranet. The composite network represented by these networks relies on no single transmission medium, bidirectional communication can occur via satellite links, fiber-optic trunk lines, phone lines, cable TV wires and local radio links. When your client computer logs onto the Internet at a university, a corporate office or from home, everything looks local, but the access to the network does cost time and line charges.
Until recently, xe2x80x9ccruising or surfingxe2x80x9d the Internet was a disorienting, even infuriating experience, something like trying to navigate without charts. The World Wide Web, a sub-network of the Internet, introduced about two years ago, made it easier by letting people jump from one server to another simply by selecting a highlighted word, picture or icon (a program object representation) about which they want more informationxe2x80x94a maneuver known as a xe2x80x9chyperlinkxe2x80x9d In order to explore the WWW today, the user loads a special navigation program, called a xe2x80x9cWeb browserxe2x80x9d onto his computer. While there are several versions of Web browsers, IBM""s example is the new WebExplorer which offers users of IBM""s OS/2 Warp system software a consistent, easy to use desktop of pictorial icons and pull down menus. As part of a group of integrated applications available from IBM for OS/2 Warp called the IBM Internet Connection, lets users log onto the Internet.
To this point the World Wide Web (Web) provided by the Internet has been used in industry predominately as a means of communication, advertisement, and placement of orders. As background for our invention there now exists a number of Internet browsers. Common examples are NetScape, Mosaic and IBM""s Web Explorer. Browsers allow a user of a client computer to access servers located throughout the world for information which is stored therein and provided to the client by the server by sending files or data packs to the requesting client from the server""s resources. An example of such a request might be something called GSQL (get SQL) which was a NCSA language and CGI server program developed to getting textual results for a client caller. Developed by Jason Ng at the University of Illinois, this document provided a way to map SQL forms against a database, and return the textual results to the client caller. This system is unlike the present invention, and presents difficulties which are overcome by our described system.
These servers act as a kind of Application Processing Agent, or (as they may be referred to) an xe2x80x9cintelligent agentxe2x80x9d, by receiving a function request from a client in response to which the server which performs tasks, performs the function, based on received requests from a client in a distributed environment. This function shipping concept in a distributed environment was first illustrated by CICS as a result of the invention described in U.S. Pat. No. 4,274,139 to Hodgkinson et al. This kind of function, illustrated by CICS and its improvements, has been widely used in what is now known as transaction processing. However, servers today, while performing many functions, do not permit the functions which we have developed to be performed as we will describe.
Now, xe2x80x9csurfingxe2x80x9d the Internet with the WWW is still a time consuming affair, and the information received is not generally useful in the form presented. Even with 14,400 baud connection to the Internet much line time is tied up in just keeping an access to the Internet going, and the users don""t generally know where to go. Furthermore , coupling of resources available on a company""s intranet and those available on the Internet has not been resolved. There is a need to reduce gateways, make better use of existing equipment, and allow greater and more effective usage of information which is resident in many different databases on many different servers, not only within a homogeneous network but also via the Internet and heterogeneous network systems.
The problems with creating access to the world via the Internet and still to allow internal access to databases has been enormous. However, the need for a system which can be used across machines and operating systems and differing gateways is strongly felt by users of the Internet today. Anyone who has spent hours at a WWW browser doing simple task knows how difficult it still is to navigate through arcane rules without knowing where to go and, even if you know what you are doing, spending hours doing routine tasks. Many needs exist. As one important instance, until we created our original applications, now implemented as part of IBM""s WEB Kit introduced in December 1995, we know of no way to access data on multiple databases of different types using a single user request from a client. Further, communication with the server requires a new connection, which we will describe with this application. This and other difficulties are solved by our invention.
In accordance with our invention needless user intervention is eliminated or greatly reduced with a Web server supporting an HTTPD which is provided with the capabilities of our control program agent. The control program agent organizes sub-agents supporting command file objects or capsules to perform tasks in support of a Web browser""s request for service. Such tasks for example as programmable functions receiving parameters as input and providing as their output (handled by the control program agent task) completed results for reporting in accordance with the Web browser request. The report is provided in the form and to the location determined by a request. The request are handled without needless user intervention. More particularly, our improvements use a language such as Java to implement true interactivity on the Web, not only in the way we previously disclosed in U.S. Pat. No. 5,701,451, U.S. Ser. No. 08/474,577) but with additional connectivity.
In accordance with our invention, we have created a way to allow Web users to request information that is created by a data interpretation system (DIS) and then presented by a web server to the user of the web. Our solution provides a way of requesting and processing and presenting information on the Web. In the process, data is retrieved from multiple sources which may be located remotely and accessed via an intranet routing and via the Web Internet and processed by our decision support capsules. With our invention, companies, universities, and other users can access data located on different databases, process and format that data, and present that data in a form the user desires (such as a graphical format). Our solution permits users to access information from various sources and obtain information at a desired location as a result of a single request. The single request is responded to by an organization of facilities and command file sub-agent decision support capsule objects by our command program agent. Users of the information can be internal to a company, or external. The result can be furnished to a user at a location which is internal or external to the company, and which result is furnished is to a specified location with a form and format desired. This allows a report to be managed by the web support services we provide, and in a form consistent with the request, but without requiring a consistent interface solution.
In order to create a way for Web users to request information generation, we provide a web server with a control program agent which is linked to a decision support tool of a data interpretation system server (the application processing agent), and then we have that server retrieve, process, and format information which is presented to the user on the Web by the Web server. In our preferred embodiment, we have provided a link between a Hypertext Markup Language (HTML) document using a common gateway interface, and an open data interpretation system server (ODAS). As a result, Web clients can request DIS reports to be generated, specify the parameters to be used in generating the reports, and then view the report results on a Web page. The DIS capsule can generate graphical information, such as colored pie charts, line graphs, bar graphs, and other forms of generated information. Since the Web server is capably of presenting the results in desired formats, the full capabilities of a DIS report are utilized.
Our invention provides a method and system for allowing a user of a client to access and assemble information structured and reported to the user in accordance with his desires, selecting information for disparate servers which are located within a network. The can be an intranet or internal network, such as a LAN or WAN not normally accessible to the Internet, or coupled to the Internet. In accordance with our invention, one can access data on multiple databases of different types using a single user request from a client. We also allow the facility for providing specialized specific requests to be created for routine use, as well as the facility to formulate generalized or specialized ad hoc requests. In addition, we provide, besides query and update capability, the ability to perform calculations with respect to any retrieved data, the ability to format the information in text or in graphics, and the facility of presenting the results to the client for display or other use.
The improvements which we have made achieve a means for accepting Web client requests for information, obtaining data from one or more databases which may be located on multiple platforms at different physical locations on an Internet or on the Internet, processing that data into meaningful information, and presenting that information to the Web client in a text or graphics display as a location specified by the request.
Our invention of providing a web server with a control program agent allows organization of decision support functions to be executed by application processing agent servers located throughout the Internet to gather and supply information not presently available with any existing resources without the need of endless intervention on the part of a requesting user of the WWW; further enabling an ordinary user to take advantage of expertise which is provided by programmable sub-agents developed by those with particular expertise in a given area as well as enabling use of standard routines commonly needed.
These improvements are accomplished by providing for Web clients to request information from an application processing agent in which the application processing agent server performs tasks based on requests received by a webserver from a client, in a distributed environment. The tasks being supported by an access agent link and control program agent which in turn causes a decision support function to be executed by the application processing agent server. This is performed within the distributed environment by the application processing agent server which forms part of a network coupled to and under control of the control program agent. According to our invention the decision support function is provided by a data interpretation system which functions as part of the application processing agent. The decision support function is programmable and generated by a data interpretation system (DIS or other decision support element performing similar functions. The decision support function is provided in a form accessible to our control program agent which presents the generated output to the user who made the initial request on the Web. We have provided, in a preferred embodiment, a link between IBM""s Hypertext Markup Language (HTML), the Common Gateway Interface (CGI), and the Open DIS Access Server (ODAS), all of which may be used on machines which are commercially available from IBM. In order to write additional functions which develop our invention, the reader is referred to the Medaphor Data Interpretation System publication xe2x80x9cDeveloping Applications with OpenDIS Access Service, Version 2.0, available from IBM, First Edition (September 1994) Part Number 315-0002-01 which is incorporated herein by reference.
Our improvements relating to our control program agent is in accordance with our preferred embodiment is normally installed on an IBM HTTPD which is an IBM OS/2 Web Server or other server having Hypertext Markup Language and Common Gateway Interface. In our preferred embodiment, the HTTPD incorporates our control program agent and is supported by an access agent which provides the hardware connections to machines on the intranet and access to the Internet, such as TCP/IP couplings. The hardware for the Web server is thus a workstation, such as IBM""s PS/2 model 80 with OS/2. However, the HTTPD can be installed in PCs and upwardly also in machines which range across IBM""s line of computers from powerful personal computers to mainframe systems which support MVS, IBM""s operating system which enables multiple kinds of operating systems, including xe2x80x9cUNIXxe2x80x9d to co-exist on a single platform. As a result of our invention Web clients can request DIS reports to be generated by the application processing agent specifying the parameters to be used in generating the reports, and then as a result of the request receive a result which is presented, as a visual display or otherwise, on a Web page for use by the requesting user. Our machine implementation allows a user having DIS access to generate graphical information such as colored pie charts, line graphs, bar graphs, etc. Since Web browsers such as IBM""s Web Explorer are capable of displaying these formats, all the functions which can be created by a DIS capsule can be utilized by a user of our invention.
According to our improved method, an Internet World Wide Web user connects to a Web server through the use of a Web browser. In accordance with our preferred embodiment, we use HTML as the language used by Web servers to create and connect documents that are viewed by Web clients. HTML is an example of a hypertext language having the facility of clicking on a highlighted word, string of words, or image in order to move to another HTML document or invoke a program on the server. An example of a Web client would be a machine used by a person using IBM""s Web Explorer product. In using our invention a user may.click on the hypertext in a document to reference a function which will be provided by an application processing agent server. The user is able to connect to another document that may be on another Web server. HTML commands are used to reference other documents. HTML is used to reference programs available on a server, and pass parameters to those programs. The application processing agent server executes a program when it is referred to by a Web client via a control program agent resident, preferably, in a Web server.
The Web client selects the information that they wish to view by using the HTML created page, the Web server takes the client request and passes it to a C program implementation of our control program agent. Web servers, such as HTTPD for OS/2, with our control program agent are able to provide access to executable programs through the use of the Common Gateway Interface (CGI). When a program is referenced by the HTML, any parameters are passed to the program and it is executed. In our preferred embodiment we have used CGI to invoke programs that we have developed that will interface with the DIS product. CGI is an example of a software gateway from a Web server to programs outside the Web server application.
The control program agent that is called (in this instance by the Web server through the CGI interface), passes the Web client request along to a data interpretation system (DIS) via a Open Dis Access Server (ODAS). ODAS is a feature of a data interpretation system DIS that allows programs to initiate DIS functions, such as invoking DIS capsules. Our control program agents interface with DIS through ODAS to submit DIS capsules for execution. DIS capsules are basically programs that DIS application programmers create with the DIS programming language. In accordance with our invention, we have written capsules which are executed as a DIS capsule on a server to gather data from one or more databases, process that data, and create a report in one of many formats, which we will describe by way of example. After the DIS capsule completes executing, in accordance with our preferred embodiment, the results that are generated during execution of a capsule are stored in a file on the application processing server.
After DIS creates a file that contains the formatted report results, our control program agents program dynamically creates HTML tags to present the formatted report back to the Web client on the Internet. Our control program agents using the CGI interface can create HTML commands dynamically. In this way a program can present information on a Web browser for the Web client.
After the DIS capsule has created the file containing the requested report results, the control program creates HTML statements dynamically that display the report results to the Web browser.
Alternative means of presenting the data are shown by alternative routing. The user requesting the report may wish to have the report results sent to another location in addition to or instead of displaying the report results to the user""s Web browser. This routing information is provided during the request phase. As a result of the alternative report request, and according to the parameters indicated therein, the report results can be sent by the control program via electronic mail, i.e. TCP/IP Sendmail facility and Lotus Notes, to one or more locations on the Internet. The report results can be sent as a file and as a note. The request can request a voice response, which can be routed to a voice response unit. Thus, with a call to a translator, the text can be converted to voice, and even translated along the way. The report results can also be sent to a fax machine, or to a computer that has the capability of receiving fax data.
We use these report concepts to present report files created by DIS capsules on the Web client display.
These and other improvements are set forth in the following detailed description. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
Further requests, for database data and/or database description data, can be accomplished from the same Java applet via the above mentioned TCP/IP sockets interface to the control program agent and ODAS.